
$(function() {
	// 1.初始化Table
	var oTable = new TableInit();
	oTable.Init();
})
	



var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		$('#taskTable').bootstrapTable({
			url : 'taskManage/getdata.do', // 请求后台的URL（*）
			method : 'get', // 请求方式（*）
			toolbar : '#toolbar', // 工具按钮用哪个容器
			striped : false, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			sortable : true, // 是否启用排序
			sortOrder : "asc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			//pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
			strictSearch : true,
			clickToSelect : true, // 是否启用点击选中行
			// height: 460, //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			cardView : false, // 是否显示详细视图
			detailView : false, // 是否显示父子表
			showRefresh : true,
			showColumns : true,
			showToggle : true,
			columns : [ {
				checkbox : true
			}, {
				field : 'id',
				title : '序号',
				align : 'center'
			}, {
				field : 'jobName',
				title : '任务名称',
				align : 'center'
			},
			 {
				field : 'jobGroup',
				title : '任务名称',
				align : 'center'
			},
			 {
				field : 'beanClass',
				title : '任务全路径类名',
				align : 'center'
			},
			 {
				field : 'cronExpression',
				title : 'cron表达式',
				align : 'center'
			}, {
				field : 'jobStatus',
				title : '状态',
				align : 'center',
				formatter : function(value, row, index) {
					if(value=== undefined||value===null||value==='0'){
						return "停止";
					}else if(value==='1'){
						return "运行";
					}
				}
			},{
				title : '操作',
				align : 'center',
				formatter : function(value, row, index) {
					var btnHtml='';
					
					if(row.jobStatus=== undefined||row.jobStatus===null||row.jobStatus==='0'){
						//可以启动处于 "停止"状态的任务
						btnHtml+='<a  class="btn green btn-outline btn-xs"    onclick="openTask('+row.id+')">开启</button>'	;
					}else{
						btnHtml+='<a  class="btn green btn-outline btn-xs"    onclick="closeTask('+row.id+')">关闭</button>';
					}
					btnHtml+='<a  class="btn green btn-outline btn-xs"    onclick="runTask('+row.id+','+row.jobStatus+')">立即执行一次</button>';
					//btnHtml+='<a  class="btn green btn-outline btn-xs"    onclick="updateTask('+row.id+')">修改</button>';
					btnHtml+='<a  class="btn green btn-outline btn-xs"    onclick="updateTaskCronException('+row.id+')">修改cron</button>';
					btnHtml+='<a  class="btn green btn-outline btn-xs"    onclick="deleteTask('+row.id+')">删除</button>';
					 return [
						 btnHtml						 
					 ].join('');
					
					//return '<a  class="btn green btn-outline btn-xs"    onclick="solveRow('+row.id+')">矛盾调解</button>';
				}

			}]
		});				
	};
	
	oTableInit.queryParams = function(params) {
		var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
			limit : params.limit, // 页面大小
			//pageNum : params.pageNumber, // 页码
			pageNum : (params.offset / params.limit) + 1,   //页码
			jobName:$("#jobName_0").val(),
			jobGroup:$("#jobGroup_0").val(),
		};
		return temp;
	};
	return oTableInit;
};

function doSearch(){
	$('#taskTable').bootstrapTable('refresh');
}






function createTask(taskId){
    layer.open({
    type: 2,
    title: '新增',
    shadeClose: true,
    shade: 0.8,
    area: ['90%', '90%'],
    content: '/taskManage/toUpdatePage?taskId=' + taskId
    });

}
function openTask(taskId){
	   $.ajax({
           url:  '/taskManage/openTask.do',
           type: 'POST',
           data:{"taskId":taskId},
           success: function (result) {
        	   debugger;
        	   var jsonString = JSON.stringify(result);
		 		var data = JSON.parse(jsonString);			 		
		 		if(data.status == "SUCCESS"){
                	//重新加载表格数据
                      $('#taskTable').bootstrapTable('refresh');
                  } else {
                  layer.alert("调整任务状态出错");
                  }

            }
         });
}
function closeTask(taskId){
	   $.ajax({
           url:  '/taskManage/closeTask.do',
           type: 'POST',
           data:{"taskId":taskId},
           success: function (result) {
        	   debugger;
        	   var jsonString = JSON.stringify(result);
		 		var data = JSON.parse(jsonString);			 		
		 		if(data.status == "SUCCESS"){
                	//重新加载表格数据
                      $('#taskTable').bootstrapTable('refresh');
                  } else {
                  layer.alert("调整任务状态出错");
                  }

            }
         });
}
function runTask(taskId,jobStatus){
	if(jobStatus!="1"){
		layer.alert("请保证任务处于开启状态，才可以立即执行一次");
		return;
	}
	//立即执行一次
	   $.ajax({
           url: '/taskManage/runTask.do',
           type: 'POST',
           data:{"taskId":taskId},
           success: function (result) {
                 var data = JSON.parse(result);
                  if (data.status == "0000") {
                	//重新加载表格数据
                      $('#taskTable').bootstrapTable('refresh');
                  } else {
                  layer.alert("调整任务状态出错");
                  }

            }
         });
}
function updateTask(taskId){
        layer.open({
        type: 2,
        title: '修改',
        shadeClose: true,
        shade: 0.8,
        area: ['90%', '90%'],
        content: '/taskManage/toUpdatePage?taskId=' + taskId
        });
	
}
function updateTaskCronException(taskId){
    layer.open({
    type: 2,
    title: '修改cron表达式',
    shadeClose: true,
    shade: 0.8,
    area: ['90%', '90%'],
    content: '/taskManage/toUpdateCronPage?taskId=' + taskId
    });

}
function deleteTask(taskId){
	// 显示确认对话框
    var result = confirm("您确定要删除该任务信息吗？");
    // 如果用户确认删除，则进行 AJAX 请求
    if (!result) {
    	return ;
    }
	   $.ajax({
           url: '/taskManage/deleteTask.do',
           type: 'POST',
           data:{"taskId":taskId},
           success: function (result) {
        	   
        	   var jsonString = JSON.stringify(result);
		 		var data = JSON.parse(jsonString);			 		
		 		if(data.status == "SUCCESS"){
                	  
                	//重新加载表格数据
                      $('#taskTable').bootstrapTable('refresh');
                  } else {
                    layer.alert("删除任务出错");
                  }

            }
         });
	
}







	







